/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is Forte for Java, Community Edition. The Initial * Developer of the Original Code is Sun Microsystems, Inc. Portions * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved. */ package org.netbeans.editor.ext; import java.util.List; import java.util.Map; /** * Java completion finder * * @author Miloslav Metelka * @version 1.00 */ public interface JCFinder extends JCClassProvider { /** Get the package from the package name */ public JCPackage getExactPackage(String packageName); /** Get the class from full name of the class */ public JCClass getExactClass(String classFullName); /** Get the list of packages that start with the given name * @param name the start of the requested package(s) name * @return list of the matching packages */ public List findPackages(String name, boolean exactMatch, boolean subPackages); /** Find classes by name and possibly in some package * @param pkg package where the classes should be searched for. It can be null * @param begining of the name of the class. The package name must be omitted. * @param exactMatch whether the given name is the exact requested name * of the class or not. * @return list of the matching classes */ public List findClasses(JCPackage pkg, String name, boolean exactMatch); /** Find fields by name in a given class. * @param c class which is searched for the fields. * @param name start of the name of the field * @param exactMatch whether the given name of the field is exact * @param staticOnly whether search for the static fields only * @param inspectOuterClasses if the given class is inner class of some * outer class, whether the fields of the outer class should be possibly * added or not. This should be false when searching for 'this.' * @return list of the matching fields */ public List findFields(JCClass c, String name, boolean exactMatch, boolean staticOnly, boolean inspectOuterClasses); /** Find methods by name in a given class. * @param c class which is searched for the methods. * @param name start of the name of the method * @param exactMatch whether the given name of the method is exact * @param staticOnly whether search for the static methods only * @param inspectOuterClasses if the given class is inner class of some * outer class, whether the methods of the outer class should be possibly * added or not. This should be false when searching for 'this.' * @return list of the matching methods */ public List findMethods(JCClass c, String name, boolean exactMatch, boolean staticOnly, boolean inspectOuterClasses); } /* * Log * 4 Gandalf 1.3 11/14/99 Miloslav Metelka * 3 Gandalf 1.2 10/23/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 2 Gandalf 1.1 9/30/99 Miloslav Metelka * 1 Gandalf 1.0 9/15/99 Miloslav Metelka * $ */